package jzoffer;

/**
 * Author:   dengxin
 * Date:     2020/6/12 2:39 下午
 * 不用加减乘除做加法
 * 求两个整数之和，要求不得使用四则运算符号
 */
public class jz48 {

    public static void main(String[] args) {
        System.out.println(add(183, 93));
        System.out.println(add(3, 1));
    }

    private static int add(int num1, int num2) {
        //使用位运算
        //两个整数异或 -> 两数相加，忽略进位
        int c = num1^num2;
        //两个整数按位与并左移一位 -> 两数相加，保留进位
        int d = (num1&num2)<<1;
        return c+d;
    }
}
